"use strict";
function main(){
        console.log("1. 添加学生\n2. 生成成绩单\n3. 退出\n请输入你的选择（1～3）：");
    }
    exports.main=main;
function tip(){
    console.log(`请输入学生信息（格式：姓名, 学号, 民族, 班级, 数学: 成绩, 语文: 成绩，英语: 成绩， 编程: 成绩），按回车提交：`);
}
exports.tip=tip;

function part(collection,t){
    let temp={};
    temp.name=t[0];
    temp.num=t[1];
    temp.math=Number(t[4]);
    temp.chinese=Number(t[5]);
    temp.english=Number(t[6]);
    temp.computer=Number(t[7]);
    temp.sum=Number(t[4])+Number(t[5])+Number(t[6])+Number(t[7]);
    temp.average=parseInt(temp.sum/4);
    collection.push(temp);
    return collection;
}
exports.part=part;

function inputone(collection){
    while(1)
    {
        var readlineSync=require('readline-sync');
        var t=readlineSync.question('');
        t=t.split(",");
        if(t.length!=8)
            console.log("请按正确的格式输入（格式：姓名, 学号, 民族, 班级, 数学: 成绩, 语文: 成绩，英语: 成绩， 编程: 成绩）：");
        else
            break;
    }
    collection=part(collection,t);
    console.log(`学生${t[0]}的成绩被添加`);
}
exports.inputone=inputone;

function middle(collection) {
    let median;
    for(let i=0;i<collection.length-1;i++){
        for(let j=0;j<collection.length-1-i;j++){
            if(collection[i].sum>collection[i+1].sum)
                {
                    let t=collection[i].sum;
                    collection[i].sum=collection[i+1].sum;
                    collection[i+1].sum=t;
                }    
        }
    }
    if(collection.length%2!=0)
        median=collection[(collection.length+1)/2-1].sum;
    else
        median=(collection[collection.length/2-1].sum+collection[collection.length/2].sum)/2;
    return median;
}
exports.middle=middle;


function inputtwo(collection){
    console.log("请输入要打印的学生的学号（格式： 学号, 学号,...），按回车提交：")
    let result='成绩单\n';result+='姓名|数学|语文|英语|编程|平均分|总分\n';result+=`========================\n`; 
    let num=readlineSync.question('');
    num+=",";
    num=num.split(",");
    for(let j=0;j<num.length;j++){
        for(let i=0;i<collection.length;i++){
            if(num[j]==collection[i].num)
                {
                    result+=`${collection[i].name}|${collection[i].math}|${collection[i].chinese}|${collection[i].english}|${collection[i].computer}|${collection[i].average}|${collection[i].sum}\n`
                }
        }
    }
    let sum=0;
    let median=middle(collection);
    for(let i=0;i<collection.length;i++){
        sum+=collection[i].sum;
    }
    let average=sum/collection.length;
    result+=`========================\n`;
    result+=`全班总分平均数：${average}\n`;
    result+=`全班总分中位数：${median}`;
    console.log(result)
}


let collection=[];
let readlineSync=require('readline-sync');
while(1)
    {
        main();
        let input=readlineSync.question("");
        switch(input)
        {
            case '1':tip();inputone(collection);break;
            case '2':inputtwo(collection);break;
            case '3':break;
            default:console.log("输入错误!\n请输入1~3的数字");break;
        }
        if(input==3)
            break;
    }
